The invention relates to a method for coding a sequence of pictures, specifically using the intra prediction mode.
This is in the domain of video compression for storage or transmission of data. There is particular interest in compression schemas by blocks in the context of MPEG4 type coding operations.
The H264/MPEG4 part 10 standard defines 9 intra prediction modes for picture blocks of dimensions 4×4, 4 lines of 4 pixels. FIG. 1 shows these different prediction modes. It also defines 4 prediction modes for 16×16 blocks, horizontal and vertical prediction modes, DC mode and plane mode carrying out a bilinear interpolation of pixel values according to the position in the line and column of the prediction pixel. For these 4 prediction modes, the DCT coefficient calculation is carried out on 4×4 sized residue blocks. The DC mode or mode 2 on FIG. 1 is also subsequently referred to as DC intra predictive coding mode, while the other modes are intra directional predictive coding modes
For the MPEG 4 part 10 “ high profile” version, DCT coding and prediction can also be applied to residue blocks, current blocks minus predicted blocks, of 8×8 size. Documents can be referred to describing the new tools relating to FRExt (Fidelity Range Extensions) extensions, of the video coding standard H264/MPEG4-AVC, for a more complete explanation of these modes.
The intra prediction modes make reference to the luminance values of pixels of neighbouring blocks or even of the current block for the DC mode. These prediction values, positioned at pixel locations (i, j) of the current block on which they act, constitute a prediction block, the non related locations being assigned the luminance value null. The residue block on which the discrete cosine transformation is applied is obtained, in intra prediction mode, by the difference between the current luminance block and the retained intra prediction block.
To carry out coding in intra mode, in the MPEG4 part 10 standard, a current 16×16 macroblock is cut into 4 8×8 blocks, in 16 4×4 blocks and a test of each of the intra coding modes is carried out on each of the blocks. It is also necessary to reconstruct part of the current macroblock, that which is thus being coded, to define the intra 4×4 prediction blocks, to perform this selection. A selection is carried out among the 9 prediction blocks calculated for a 4×4 block of the current macroblock according to known criteria such as coding cost and distortion to define the best prediction.
A known selection criteria is the a posteriori based bitrate/distortion criteria represented by the following equation:J=sse+λ·rate
with sse, sum of errors per square, λ a coefficient and <<rate>> the exact number of bits used for the coding of a block.
In this equation:
      sse    ⁡          (              s        ,        r            )        =            ∑              i        ,                  j          =          0                            N        -        1              ⁢                  (                                            s              Y                        ⁡                          (                              i                ,                j                            )                                -                                    r              Y                        ⁡                          (                              i                ,                j                            )                                      )            2      
with N the size of the block to be encoded in number of lines or columns, i and j the relative indexes of the line or column of the block, sy and ry the luminance values of the current source block and of the decoded or reconstructed predicted block. y indicates that the measurements have been carried out on the luminance components.
The decision algorithm relating to the choice of intra coding for the 16×16 macroblock is relatively simple and does not require a high calculating power, the tested intra modes being applied on the single macroblock. It differs from the 4×4 and 8×8 blocks that must be reconstructed to be able to use the neighbouring blocks of the tested block. The calculation of the selection criteria of a block coding mode, that providing the best bitrate/distortion compromise, must be carried out for all the prediction modes and is therefore a very high consumer in terms of calculation time and processing time for the central processing unit. The complexity of the calculations, due in part to recursion problems, reduces the efficiency of processing circuits or requires complex circuits and is costly to implement.
One solution consists in carrying out two passes, a first pass based on an a priori criteria to select the best predictors, for example an SATD (Sum of Absolute Transform Differences) type calculation consisting in calculating, for a residue block relative to a predicted block, a transformation providing coefficients then the sum of the absolute value of these coefficients. A second pass enables refining the search using a more elaborated criteria for the modes retained in the first phase. This type of solution is however unsatisfactory as it is always necessary to test the 9 prediction modes for the 4×4 blocks and the 8×8 blocks and the economy in terms of calculation costs or processing time is limited, the processing being done in two passes. The complexity is even greater for the “high profile” version.